/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.facturacion.controlador;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import sv.com.intesal.clases.Mensaje;
import sv.com.intesal.conexion.cConexion;
import sv.com.intesal.facturacion.bean.TipoGasto;
import sv.com.intesal.facturacion.sql.SQLTipoGasto;
import sv.com.intesal.seguridad.controlador.SessionControlador;

/**
 *
 * @author ejerez
 */
public class TipoGastoControlador {

    public void mantenimientoTC(TipoGasto tg) throws Exception {
        Connection cnn = null;
        PreparedStatement ps = null;
        try {
            cnn = cConexion.conectar();

            SessionControlador sc = new SessionControlador();
            tg.setCodigo_s(sc.getCodigo_Sucursal());
            if (tg.getCodigo_tg() == null) {
                ps = cnn.prepareStatement(SQLTipoGasto.insertTipoGasto);
            } else {
                ps = cnn.prepareStatement(SQLTipoGasto.updateTipoGasto);
                ps.setInt(4, tg.getCodigo_tg());
            }
            ps.setString(1, tg.getNombre_tg());

            if (tg.getEstado_flag_tg() == true) {
                ps.setString(2, "A");//Activo
            } else {
                ps.setString(2, "I");//Inactivo
            }
            ps.setInt(3, tg.getCodigo_s());
            ps.executeUpdate();

            Mensaje m = new Mensaje();
            if (tg.getCodigo_tg() == null) {
                m.messageInfo(m.getIinformation());
            } else {
                m.messageInfo(m.getImodificada());
            }
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public List<TipoGasto> fillComboBox() throws Exception {
        List<TipoGasto> lista = new ArrayList<TipoGasto>();
        try {
            ResultSet rs = cConexion.conectar().prepareStatement(SQLTipoGasto.getTipoGastos).executeQuery();
            while (rs.next()) {

                TipoGasto tg = new TipoGasto();
                tg.setCodigo_tg(rs.getInt("codigo_tg"));
                tg.setNombre_tg(rs.getString("nombre_tg"));
                tg.setEstado_tg(rs.getString("estado_tg"));

                tg.setEstado_flag_tg(false);
                if (rs.getString("estado_tg") == "A") {
                    tg.setEstado_flag_tg(true);
                }
                /*SUCURSAL*/
                tg.setCodigo_s(rs.getInt("codigo_s"));
                tg.setNombre_s(rs.getString("nombre_s"));

                lista.add(tg);
            }

            return lista;
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public List<TipoGasto> fillGrid() throws Exception {
        try {
            return this.fillComboBox();
        } catch (Exception e) {
            throw new Exception(e);
        }
    }
}
